Data storage devices are an important component in various kinds of computer technology and electronic data processing applications. A data storage device can be used, for example, for storing user data, on which a data processing is to be performed. As another example, work data or system data, which is needed to carry out the functions of the respective application, can be stored in the data storage device. Typically, in computer and electronic data processing applications, a data storage device stores bit data.
Data storage devices are realized in various types and forms and can comprise, but are not limited to, for example, optical, magnetic, or electronic storage mediums, or a combination thereof. The type and amount of data to be stored in the data storage device and the average storage time depends on the kind of application and the usage and the purpose of the system or device in which the data storage device is operated.
In many applications, measures for enhancement of the reliability, availability, and serviceability of the data storage device are provided so that the data integrity can be increased. For example, a capability of detecting and/or correcting potential bit errors in the bit data can be provided. Such measures include error correcting code (ECC) methods according to which redundant data is computed on the basis of the storage data stored using an algorithm. An error correcting code is often used in applications or devices in which high data integrity is needed. For example, error correcting code can be used in connection with memory modules, such as RAM modules or in other types of volatile or non-volatile memory modules.
However, the error correction and error detection capability provided by an error correcting code is limited such that not more than n bit errors per data bit register can be detected, wherein n depends on the algorithm which is used and the percentage of data overhead produced by adding the redundant data. It is desirable and in many applications necessary to detect more than the above n bit errors, e.g., 100% of the bit errors.
In order to overcome this problem, a method is known in which data in a memory module is counted. For example, if the erased state of a part of the memory module corresponds with a 0 bit, the end of the process steps should comprise a 0. A counting result unlike 0 indicates an error. When one or more errors occur, the number of the data bits unlike a 0 bit can be outputted as a fault tolerant erased state.
However, such a method has the disadvantage that a counter must be available. Further, the method is relatively expensive because of the time needed to count the data and because of the amount of logic and/or software, which is needed to identify 1, 2, or n errors as fault tolerant erased state.